﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GFMS.MODEL
{
    [Serializable]
    public class M_FIM_Transfers
    {
        private int TRANSFER_SEQ;
        private int BGM_SOURCE_SEQ;
        private int WORK_AREA_SEQ;
        private int BGM_YEAR;
        private string TRANSFER_TYPE;
        private string TRANSFER_NAME;
        private string REF_NO;
        private string REF_NO_OUTSIDE;
        private Nullable<DateTime> TRANSFER_DATE;
        private Nullable<int> FROM_BANK_ACC_SEQ;
        private Nullable<int> TO_BANK_ACC_SEQ;
        private Nullable<int> BANK_ACC_TYPE_SEQ;
        private Nullable<double> AMOUNT;
        private Nullable<int> CURRENCY_SEQ;
        private Nullable<double> EXCHANGE_RATE;
        private Nullable<double> BATH_AMOUNT;
        private Nullable<int> EMP_SEQ;
        private Nullable<int> TRAN_GRP_SEQ;
        private Nullable<int> CHEQUE_SEQ;

        private string BGM_SOURCE_NAME;
        private string WORK_AREA_NAME;
        private string FROM_BANK_ACC_NO;
        private string FROM_BANK_ACC_NAME;
        private string TO_BANK_ACC_NO;
        private string TO_BANK_ACC_NAME;
        private string CURRENCY_NAME;
        private string EMP_TEXT;

        private Nullable<int> APPROVED_BY;
        private Nullable<DateTime> APPROVED_WHEN;

        private string RECORD_STATUS;
        private string RECORD_STATUS_NAME;
        private Nullable<int> CREATED_BY;
        private Nullable<DateTime> CREATED_WHEN;
        private Nullable<int> UPDATED_BY;
        private Nullable<DateTime> UPDATED_WHEN;

        public M_FIM_Transfers()
        {

        }

        public M_FIM_Transfers(
            int TRANSFER_SEQ
            , int BGM_SOURCE_SEQ
            , int WORK_AREA_SEQ
            , int BGM_YEAR
            , string TRANSFER_TYPE
            , string TRANSFER_NAME
            , string REF_NO
            , string REF_NO_OUTSIDE
            , Nullable<DateTime> TRANSFER_DATE
            , Nullable<int> FROM_BANK_ACC_SEQ
            , Nullable<int> TO_BANK_ACC_SEQ
            , Nullable<int> BANK_ACC_TYPE_SEQ
            , Nullable<double> AMOUNT
            , Nullable<int> CURRENCY_SEQ
            , Nullable<double> EXCHANGE_RATE
            , Nullable<double> BATH_AMOUNT
            , Nullable<int> EMP_SEQ
            , Nullable<int> TRAN_GRP_SEQ
            , int? CHEQUE_SEQ

            , string BGM_SOURCE_NAME
            , string WORK_AREA_NAME
            , string FROM_BANK_ACC_NO
            , string FROM_BANK_ACC_NAME
            , string TO_BANK_ACC_NO
            , string TO_BANK_ACC_NAME
            , string CURRENCY_NAME
            , string EMP_TEXT

            , Nullable<int> APPROVED_BY
            , Nullable<DateTime> APPROVED_WHEN

            , string RECORD_STATUS
            , string RECORD_STATUS_NAME
            , Nullable<int> CREATED_BY
            , Nullable<DateTime> CREATED_WHEN
            , Nullable<int> UPDATED_BY
            , Nullable<DateTime> UPDATED_WHEN)
        {
            this.TRANSFER_SEQ = TRANSFER_SEQ;
            this.BGM_SOURCE_SEQ = BGM_SOURCE_SEQ;
            this.WORK_AREA_SEQ = WORK_AREA_SEQ;
            this.BGM_YEAR = BGM_YEAR;
            this.TRANSFER_TYPE = TRANSFER_TYPE;
            this.TRANSFER_NAME = TRANSFER_NAME;
            this.REF_NO = REF_NO;
            this.REF_NO_OUTSIDE = REF_NO_OUTSIDE;
            this.TRANSFER_DATE = TRANSFER_DATE;
            this.FROM_BANK_ACC_SEQ = FROM_BANK_ACC_SEQ;
            this.TO_BANK_ACC_SEQ = TO_BANK_ACC_SEQ;
            this.BANK_ACC_TYPE_SEQ = BANK_ACC_TYPE_SEQ;
            this.AMOUNT = AMOUNT;
            this.CURRENCY_SEQ = CURRENCY_SEQ;
            this.EXCHANGE_RATE = EXCHANGE_RATE;
            this.BATH_AMOUNT = BATH_AMOUNT;
            this.EMP_SEQ = EMP_SEQ;
            this.TRAN_GRP_SEQ = TRAN_GRP_SEQ;
            this.CHEQUE_SEQ = CHEQUE_SEQ;

            this.BGM_SOURCE_NAME = BGM_SOURCE_NAME;
            this.WORK_AREA_NAME = WORK_AREA_NAME;
            this.FROM_BANK_ACC_NO = FROM_BANK_ACC_NO;
            this.FROM_BANK_ACC_NAME = FROM_BANK_ACC_NAME;
            this.TO_BANK_ACC_NO = TO_BANK_ACC_NO;
            this.TO_BANK_ACC_NAME = TO_BANK_ACC_NAME;
            this.CURRENCY_NAME = CURRENCY_NAME;
            this.EMP_TEXT = EMP_TEXT;

            this.APPROVED_BY = APPROVED_BY;
            this.APPROVED_WHEN = APPROVED_WHEN;

            this.RECORD_STATUS = RECORD_STATUS;
            this.RECORD_STATUS_NAME = RECORD_STATUS_NAME;
            this.CREATED_BY = CREATED_BY;
            this.CREATED_WHEN = CREATED_WHEN;
            this.UPDATED_BY = UPDATED_BY;
            this.UPDATED_WHEN = UPDATED_WHEN;
        }

        public int transfer_seq
        {
            set { TRANSFER_SEQ = value; }
            get { return TRANSFER_SEQ; }
        }

        public int bgm_source_seq
        {
            set { BGM_SOURCE_SEQ = value; }
            get { return BGM_SOURCE_SEQ; }
        }

        public int work_area_seq
        {
            set { WORK_AREA_SEQ = value; }
            get { return WORK_AREA_SEQ; }
        }

        public int bgm_year
        {
            set { BGM_YEAR = value; }
            get { return BGM_YEAR; }
        }

        public string transfer_type
        {
            set { TRANSFER_TYPE = value; }
            get { return TRANSFER_TYPE; }
        }

        public string transfer_name
        {
            set { TRANSFER_NAME = value; }
            get { return TRANSFER_NAME; }
        }

        public string ref_no
        {
            set { REF_NO = value; }
            get { return REF_NO; }
        }
        
        public string ref_no_outside
        {
            set { REF_NO_OUTSIDE = value; }
            get { return REF_NO_OUTSIDE; }
        }

        public Nullable<DateTime> transfer_date
        {
            set { TRANSFER_DATE = value; }
            get { return TRANSFER_DATE; }
        }

        public Nullable<int> from_bank_acc_seq
        {
            set { FROM_BANK_ACC_SEQ = value; }
            get { return FROM_BANK_ACC_SEQ; }
        }

        public Nullable<int> to_bank_acc_seq
        {
            set { TO_BANK_ACC_SEQ = value; }
            get { return TO_BANK_ACC_SEQ; }
        }

        public Nullable<int> bank_acc_type_seq
        {
            set { BANK_ACC_TYPE_SEQ = value; }
            get { return BANK_ACC_TYPE_SEQ; }
        }

        public Nullable<double> amount
        {
            set { AMOUNT = value; }
            get { return AMOUNT; }
        }

        public Nullable<int> currency_seq
        {
            set { CURRENCY_SEQ = value; }
            get { return CURRENCY_SEQ; }
        }

        public Nullable<double> exchange_rate
        {
            set { EXCHANGE_RATE = value; }
            get { return EXCHANGE_RATE; }
        }

        public Nullable<double> bath_amount
        {
            set { BATH_AMOUNT = value; }
            get { return BATH_AMOUNT; }
        }

        public Nullable<int> emp_seq
        {
            set { EMP_SEQ = value; }
            get { return EMP_SEQ; }
        }

        public Nullable<int> tran_grp_seq
        {
            set { TRAN_GRP_SEQ = value; }
            get { return TRAN_GRP_SEQ; }
        }

        public Nullable<int> cheque_seq
        {
            set { CHEQUE_SEQ = value; }
            get { return CHEQUE_SEQ; }
        }

        public Nullable<int> pay_seq { set; get; }

        public string bgm_source_name
        {
            set { BGM_SOURCE_NAME = value; }
            get { return BGM_SOURCE_NAME; }
        }

        public string work_area_name
        {
            set { WORK_AREA_NAME = value; }
            get { return WORK_AREA_NAME; }
        }

        public string from_bank_acc_no
        {
            set { FROM_BANK_ACC_NO = value; }
            get { return FROM_BANK_ACC_NO; }
        }

        public string from_bank_acc_name
        {
            set { FROM_BANK_ACC_NAME = value; }
            get { return FROM_BANK_ACC_NAME; }
        }

        public string to_bank_acc_no
        {
            set { TO_BANK_ACC_NO = value; }
            get { return TO_BANK_ACC_NO; }
        }

        public string to_bank_acc_name
        {
            set { TO_BANK_ACC_NAME = value; }
            get { return TO_BANK_ACC_NAME; }
        }

        public string currency_name
        {
            set { CURRENCY_NAME = value; }
            get { return CURRENCY_NAME; }
        }

        public string emp_text
        {
            set { EMP_TEXT = value; }
            get { return EMP_TEXT; }
        }

        public Nullable<int> approved_by
        {
            set { APPROVED_BY = value; }
            get { return APPROVED_BY; }
        }

        public Nullable<DateTime> approved_when
        {
            set { APPROVED_WHEN = value; }
            get { return APPROVED_WHEN; }
        }

        public string record_status
        {
            set { RECORD_STATUS = value; }
            get { return RECORD_STATUS; }
        }

        public string record_status_name
        {
            set { RECORD_STATUS_NAME = value; }
            get { return RECORD_STATUS_NAME; }
        }

        public Nullable<int> created_by
        {
            set { CREATED_BY = value; }
            get { return CREATED_BY; }
        }

        public Nullable<DateTime> created_when
        {
            set { CREATED_WHEN = value; }
            get { return CREATED_WHEN; }
        }

        public Nullable<int> updated_by
        {
            set { UPDATED_BY = value; }
            get { return UPDATED_BY; }
        }

        public Nullable<DateTime> updated_when
        {
            set { UPDATED_WHEN = value; }
            get { return UPDATED_WHEN; }
        }
    }
}
